package com.dhcc.DRGsHosp.application;

import com.dhcc.DRGsHosp.core.domain.IndexCal;

import java.util.List;
import java.util.Map;

public interface FeeAnalysisDepApplication {
	
	/**
	 * 科室费用变化趋势
	 * @param dateFrom
	 * @param dateTo
	 * @param depCode
	 * @return
	 */
	public List<Map<String, Object>> getDepFeeVareTrend(String dateFrom, String dateTo, String depCode, String hospCode, String pType, String groupCode);
	/**
	 * 不同特征区间内病例分布情况
	 * @param dateFrom
	 * @param dateTo
	 * @param depCode
	 * @param hospCode
	 * @param sliderValBench
	 * @param compareObj
	 * @param compareType
	 * @param groupScheme
	 * @param stdId
	 * @return
	 */
	public List<Map<String, Object>> getDepOverFeeCaseShow(String dateFrom, String dateTo, String depCode,
                                                           String hospCode, String sliderValBench, String compareObj, String compareType, String groupScheme, String stdId, String pType, String groupCode);
	/**
	 * 排除特异病例后次均费用.费用构成及其对比情况表
	 * @param dateFrom
	 * @param dateTo
	 * @param depCode
	 * @param hospCode
	 * @param sliderValBench
	 * @param compareObj
	 * @param compareType
	 * @param groupScheme
	 * @param stdId
	 * @return
	 */
	public List<Map<String, Object>> getDepFeeOutAbnormalTable(String dateFrom, String dateTo, String depCode,
                                                               String hospCode, String sliderValBench, String compareObj, String compareType, String groupScheme, String stdId, String compareAbnormal, String pType, String groupCode);
	/**
	 * 排除特异病例后次均费用.费用构成及其对比情况表(主诊组维度)
	 * @param dateFrom
	 * @param dateTo
	 * @param depCode
	 * @param hospCode
	 * @param sliderValBench
	 * @param compareTip
	 * @param compareObj
	 * @param compareType
	 * @param groupScheme
	 * @param stdId
	 * @param compareAbnormal
	 * @return
	 */
	public List<Map<String, Object>> getDepFeeOutAbnormalZZZ(String dateFrom, String dateTo, String depCode,
                                                             String hospCode, String sliderValBench, String compareTip, String compareObj, String compareType, String groupScheme, String stdId, String compareAbnormal, String pType);
	/**
	 * 科室费用分析病例区间分布的病例数点击下的病例明细页面
	 * @param dateFrom
	 * @param dateTo
	 * @param hospCode
	 * @param monitorType
	 * @param dimensionCode
	 * @param sliderValBenchLater
	 * @param compareType
	 * @param compareObj
	 * @param abnomalType
	 * @param groupScheme
	 * @param stdId
	 * @return
	 */
//	public List<Map<String, Object>>  loadFeeAnalysisCaseTable(String dateFrom, String dateTo, String hospCode,
//			String monitorType, String dimensionCode, String sliderValBenchLater, String compareType, String compareObj,
//			String abnomalType,String groupScheme,String stdId, String pType,String depCode);

	List<Map<String, Object>>  loadFeeAnalysisCaseTable(IndexCal indexCal);



    /**
     * 不同特征区间内病例分布情况
     * @param indexCal
     * @return
     */
    List<Map<String, Object>> getDRGOverFeeCaseShow(IndexCal indexCal);
    /**
     * 数据库现有的绩效值的指标获取
     * @return
     */
    public List<Map<String, Object>> getManagerQuotaCode(String dateTo, String pType);
    /**
     * DRG病组次均费用、费用构成及其对比情况表数据获取
     * @param indexCal
     * @return
     */
    List<Map<String, Object>> getDrgCompareData(IndexCal indexCal);
    /**
     * 病组展开的 次均费用、费用构成及其对比情况表
     * @param indexCal
     * @return
     */
    List<Map<String, Object>> getDrgFeeCompareTable(IndexCal indexCal);
}
